﻿<%@ Page Language="C#" AutoEventWireup="false" MasterPageFile="~/Site.master" CodeFile="sMenulist.aspx.cs"
    Inherits="Training.Web.Lists.Administration.UserManagement.sMenulist" %>

<asp:Content ID="ctnBody" ContentPlaceHolderID="body" runat="server">
    <link type="text/css" rel="stylesheet" href="<%= ResolveUrl("~/styles/ui.jqgrid.css") %>" />
    <script type="text/javascript" src="<%= ResolveUrl("~/scripts/i18n/grid.locale-id.js") %>"></script>
    <script type="text/javascript" src="<%= ResolveUrl("~/scripts/jquery.jqGrid.min.js") %>"></script>
    <script src="<%= ResolveUrl("~/scripts/helper.js") %>" type="text/javascript"></script>
      <script src="<%= ResolveUrl("~/scripts/jquery.msgBox.v1.js") %>" type="text/javascript"></script>
    <div class="page-full-width cf">
        <div class="content-module">
            <%--<div class="content-module-heading cf">
                <h3 class="fl">
                    Menu</h3>
                <span class="fr expand-collapse-text">Click to collapse</span> <span class="fr expand-collapse-text initial-expand">
                    Click to expand</span>
            </div>--%>
            <!-- end content-module-heading -->
            <div class="content-module-main">
                <div>
                    <button id="btnAdd" type="button" onclick="OpenForm('add');">
                        Tambah</button>
                    <button id="btnEdit" type="button" onclick="OpenForm('edit');">
                        Ubah</button>
                    <button id="btnDelete" type="button" onclick="OpenForm('delete');">
                        Hapus</button>
                </div>
                <br />
                
                    <table id="table" class="scroll" cellpadding="0" cellspacing="0">
                    </table>
                    <div id="pager" class="scroll">
                    </div>
                    <br />
                    <div id="dialog" title="Default dialog">
                    </div>
                
            </div>
            <!-- end content-module-main -->
        </div>
    </div>
    <script type="text/javascript">

        $("#btnAdd").button({ icons: { primary: "ui-icon-plus"} });
        $("#btnEdit").button({ icons: { primary: "ui-icon-pencil"} });
        $("#btnDelete").button({ icons: { primary: "ui-icon-trash"} });

    </script>
    <script type="text/javascript">

        var handlerUrl = '<%= ResolveUrl("~/ajaxhandler/administration/usermanagement/sMenuhandler.ashx") %>';

        $('#table').jqGrid({
            url: handlerUrl + '?method=getdata',
            datatype: 'json',
            colNames: ['ID', 'Nama Menu', 'Url', 'Parent'],
            colModel: [
           		{ name: 'MenuID', key: true, hidden: true, index: 'm.MENUID', width: 60 },
           		{ name: 'MenuName', index: 'm.MENUNAME', width: 200, searchoptions: { sopt: ['cn', 'eq']} },
           		{ name: 'URL', index: 'm.URL', width: 300, searchoptions: { sopt: ['cn', 'eq']} },
                { name: 'ParentName', index: 'p.MENUNAME', width: 200, searchoptions: { sopt: ['cn', 'eq']} }
           	],
            rownumbers: true,
            rowNum: 10,
            id: 'MenuID',
            multiselect: true,
            rowList: [5, 10, 15, 20],
            pager: '#pager',
            sortname: 'ORDER_SEQ',
            sortorder: "asc",
            viewrecords: true,
            jsonReader: { repeatitems: false },
            height: '100%',
            caption: 'Menu',
            ajaxGridOptions: { cache: false },
            ondblClickRow: function () {
                OpenForm('edit');
            }
        });

        $("#table").jqGrid('navGrid', '#pager', { edit: false, add: false, del: false, searchtext: 'Search', refreshtext: 'Refresh' },
        {}, {}, {}, { closeOnEscape: true, multipleSearch: true, closeAfterSearch: true });

        function OpenForm(ctl) {

            var grid = $("#table");
            var selIds = grid.jqGrid('getGridParam', 'selarrrow'),
                selText = [];
            $.each(selIds, function () {
                selText.push(grid.jqGrid('getCell', this, 'MenuID'));
            });

            var formUrl = '<%= ResolveUrl("~/forms/administration/usermanagement/sMenuform.aspx") %>';

            if (ctl == "edit") {
                if (selIds.length == 0) {
                    //alert('Pilih data yang mau di ubah !');
                    $.msgBox("Pilih data yang mau di ubah !", null, { title: "Pesan" });
                }
                else if (selIds.length > 1) {
                    //alert('Pilih satu record untuk ubah data.');
                    $.msgBox("Pilih satu record untuk ubah data", null, { title: "Pesan" });
                }
                else {
                    $("#dialog").load(formUrl + '?id=' + selText + '&menuId=' + '<%= base.MenuID %>').dialog({ autoOpen: false, modal: true, width: 450, title: 'Ubah Menu' });
                    $("#dialog").dialog('open');
                }
            }
            else if (ctl == "add") {
                $("#dialog").load(formUrl + '?menuId=' + '<%= base.MenuID %>').dialog({ autoOpen: false, modal: true, width: 450, title: 'Tambah Menu' });
                $("#dialog").dialog('open');
            }
            else {

                if (selIds.length == 0)
                    //alert('Pilih data yang mau di hapus !');
                    $.msgBox("Pilih data yang mau di hapus !", null, { title: "Pesan" });
                else {
//                    var result = window.confirm('Benar data akan di hapus ?');
//                    if (result) {
//                        var objMenu = new Object();
//                        objMenu.MenuID = encodeURIComponent(selText);
//                        jsonData = JSON.stringify(objMenu);
//                        CallAjax(handlerUrl, "?method=delete", jsonData);
//                        setTimeout("$('#table').trigger('reloadGrid');", 3000);
//                    }

                    $.msgBox.confirm("Benar data akan di hapus ?", function () {
                        var objMenu = new Object();
                        objMenu.MenuID = encodeURIComponent(selText);
                        jsonData = JSON.stringify(objMenu);
                        CallAjax(handlerUrl, "?method=delete", jsonData);
                        setTimeout("$('#table').trigger('reloadGrid');", 3000);
                    }, false);
                }
            }

        }
    
    </script>
</asp:Content>
